package com.kmxd.ams.client.use.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.kmxd.ams.core.common.bo.OptionsModel;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.Data;

/**
 * 收藏夹表
 *
 * @author nickbi
 * @since 2023-01-11
 */
@Data
@ColumnWidth(15)
@HeadRowHeight(15)
@ContentRowHeight(15)
@HeadStyle
@HeadFontStyle(fontHeightInPoints = 12)
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER)
@ContentFontStyle(fontHeightInPoints = 10)
@ExcelIgnoreUnannotated
@Schema(description = "收藏夹表对象")
public class UseFavoritesPageVO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 数据列表 */
  @Schema(description = "数据列表")
  @ExcelProperty(value = "数据列表")
  private List<UseFavoritesListVO> list;

  /** 条目数 */
  @Schema(description = "条目数")
  @JsonSerialize(using = ToStringSerializer.class)
  @ExcelProperty(value = "条目数")
  private Long total;

  @Schema(description = "单位")
  private List<OptionsModel> fondsList;

  @Schema(description = "年度")
  private List<OptionsModel> yearList;

  @Schema(description = "机构")
  private List<OptionsModel> deptList;

  @Schema(description = "门类")
  private List<OptionsModel> archTypeList;
}
